#### Renato Mitsuo Nagata
#### exerccios lista 6

############## Criando dados amostra 1 (a1) e amostra 2 (a2)
a1 = round(rnorm(10, mean=6, sd=3),2)
a2 = round(rnorm(10, mean=7.5, sd=3.2),2)
source("simula.r")
simula(a2, a1, test="bi",nsim=2000) ### 1- Testando se as amostras diferem

dif.uni=simula(a2,a1,test="uni", nsim=2000) ### 2- Testando se a amostra a2  maior que a1
table=(dif.uni)
obs <- sum(dif.uni<-2.1 + dif.uni>2.1)
p.simula.uni=obs/length(dif.uni)
p.simula.uni ### 0.2445

#### 3 testando com Test-T
t.test(a1,a2)### t = -1.328, df = 13.824, p-value = 0.2057

#### 4 Anlise exploratria. Quais so as premissas do test, na funo simula e t.test?
vector.dados=c(a1,a2)
vector.obs=1:20
vector.col = rep(1:2, each=10)
plot(vector.obs,vector.dados,ylim=c(0,12),pch=(rep(c(15,16),each=10)),col=vector.col,xlab="Observaes")
for(i in 1:20)
{lines(c(i,i),c(vector.dados[i],mean(vector.dados)),col=1,2)}

### Na funo "simula",  para os dois testes, bicaudal e unicaudal: os dados devem ter distribuicao normal e homogeneidade de variancias. Para o Teste t, novamente, os dados devem ter distribuicao normal e homogeneidade de variancias.

#### 5 Diagnsticos das premissas do teste, normalidade
par(mfrow=c(2,1))
qqnorm(a1)
qqnorm(a2)
qqline(a1)
qqline(a2)#### Essa varivel, no  normal para ambas as populaes.
#### Hogeneidade das variancias
b <- c(a1,a2)
b
c <- rep(c(1,2),each=10)
c
bartlett.test(b,c) ### p>0.05, as varincias so homogneas.

###################### Dados de caixeta
caixeta <- read.csv("caixeta.csv")
head(caixeta)
caixeta$ar.bas1 <- pi*(caixeta$cap/(2*pi))^2 ### rea basal por fuste
head(caixeta)
ar.bas.arv = aggregate(x=caixeta$ar.bas1, by=list(caixeta$arvore, caixeta$local, caixeta$parcela),header=TRUE, FUN=sum)
ar.bas.arv
colnames(ar.bas.arv) = c("arvore", "local", "parcela", "ar.bas")
head(ar.bas.arv)

#### Calculando a rea basal mdia por parcela(amostra) de cada local.
ar.bas.m <- aggregate(x=ar.bas.arv$ar.bas, by=list(ar.bas.arv$parcela, ar.bas.arv$local), header=TRUE, FUN=mean)
head(ar.bas.m)
colnames(ar.bas.m) <- c("parcela", "local", "ar.bas")

#### PLotando os dados em um grfico
par(mfrow=c(2,2))
boxplot(ar.bas.m$ar.bas~ar.bas.m$local)
vetor.cor = rep(1:3, each=5)
media.geral = mean(vetor.dados)
vetor.obs = 1:15

#### grfico distncia dos pontos da mdia geral
plot(vetor.obs,vetor.dados,pch=(rep(c(15,16,17),each=5)),col=vetor.cor,ylab="rea basal mdia/amostra", xlab="Observaes")
	for(i in 1:15)
	{
	lines(c(i,i),c(vetor.dados[i],mean(vetor.dados)),col=vetor.cor[1])
	}
	abline(h=media.geral)
medias.local <- aggregate(x=ar.bas.m$ar.bas, by=list(ar.bas.m$local), header=TRUE, FUN=mean) 
colnames(medias.local) <- c("local", "mdia.local")
vetor.medias <- rep(c(medias.local$mdia.local), each=5)

#### grfico variao intragrupos, das mdias por local
plot(vetor.obs,vetor.dados,pch=(rep(c(15,16,17),each=5)),col=vetor.cor,main="Variao Intra Grupos",ylab="Varivel Resposta", xlab="Observaes")
	for(i in 1:15)
	{
	lines(c(i,i),c(vetor.medias[i],vetor.dados[i]),col=vetor.cor[i])
	}
	lines(c(1,5),c(vetor.medias[1],vetor.medias[5]),col=1)
	lines(c(6,10),c(vetor.medias[6],vetor.medias[10]),col=2)
	lines(c(11,15),c(vetor.medias[11],vetor.medias[15]),col=3)

#### grfico variao entre grupos, da mdia geral.
plot	(vetor.obs,vetor.medias,pch=(rep(c(15,16,17),each=5)),col=vetor.cor,main="Variao Entre Grupos",ylab="Varivel Resposta", xlab="Observaes")
	for(i in 1:15)
	{
	lines(c(i,i),c(vetor.medias[i],mean(vetor.medias)),col=vetor.cor[i])
	}
	abline(h=media.geral)
	points(vetor.obs,vetor.dados,pch=(rep(c(0,1,2),each=5)),col=vetor.cor,cex=0.5)

############## Calculando valores de uma tabela de ANOVA
media.geral = mean(vetor.dados)

## Desvio quadrtico total
DQT= sum((vetor.dados-media.geral)^2) 
round(DQT,2)

## Desvio quadrtico intra-grupos
DQchauas = sum((ar.bas.m$ar.bas[ar.bas.m$local=="chauas"] - medias.local$mdia.local[medias.local$local=="chauas"])^2)
DQchauas
DQjureia = sum((ar.bas.m$ar.bas[ar.bas.m$local=="jureia"] - medias.local$mdia.local[medias.local$local=="jureia"])^2)
DQjureia
DQRetiro = sum((ar.bas.m$ar.bas[ar.bas.m$local=="retiro"] - medias.local$mdia.local[medias.local$local=="retiro"])^2)
DQRetiro
DQ.intra = DQchauas + DQjureia + DQRetiro
DQ.intra

## Desvio quadrtico entre grupos
DQ.entre = DQT - DQ.intra

## Graus de liberdade 
G.total = length(ar.bas.m$ar.bas) -1
G.entre = 2
G.intra = G.total - G.entre

## Desvios mdios

Desv.entre = DQ.entre/G.entre
Desv.intra = DQ.intra/G.intra

## Calculando o F e P
F=Desv.entre/Desv.intra
Valor.P = pf(F,G.entre,G.intra,lower.tail=FALSE)

## Tabela do ANOVA pela funo aov
tabela.anova = aov(ar.bas.m$ar.bas~as.factor(ar.bas.m$local))
summary(tabela.anova) ### Resultados identicos aos calculados  mo

## Qual a porcentagem de variao explicada pela localidade
P.var = DQ.entre/DQT ### P.var = 68 %

